package com.carb.vo;

import com.carb.entity.Member;
import com.carb.enums.CommonStatus;
import com.carb.enums.UserGender;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "会员查询返回的数据")
public class MemberVO extends Member implements Serializable {

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "姓名")
    private String name;

    @Schema(description = "性别 (女, 男)")
    private UserGender gender;

    @Schema(description = "年龄")
    private Integer age;

    @Schema(description = "移动电话")
    private String mobilePhone;

    @Schema(description = "身份证号码")
    private String idNumber;

    @Schema(description = "电子邮箱")
    private String email;

    @Schema(description = "地址")
    private String address;

    @Schema(description = "头像链接")
    private String avatarUrl;

    @Schema(description = "用户状态 (禁用, 启用)")
    private CommonStatus status;

    @Schema(description = "上次登录时间")
    private LocalDateTime lastLoginTime;

}
